package com.balabala.gym_goods.service;

import com.balabala.gym_enum.ResultEnum;
import com.balabala.gym_goods.pojo.dto.*;
import com.balabala.gym_goods.pojo.entity.CoachSchedule;
import com.balabala.gym_goods.pojo.entity.Course;
import com.balabala.gym_goods.pojo.vo.*;
import com.balabala.result.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.Date;
import java.util.List;

/**
 * @author fsj
 * @date 2023/5/5 18:18
 */
public interface CourseService extends IService<Course> {


    int addCourse(CourseDto courseDto);


    List<CourseVo> findCourseByName(CourseByNameQueryDto courseByNameQueryDto);


    //List<BookCourseAppVo> findByTime(FindCoachByTimeDto findCoachByTimeDto) ;

    List<BookCourseAppVo> findByDate(FindCoachByTimeDto findCoachByTimeDto);

    CourseVo findCourseById(Long id);

    Result addNum(AddNumDto addNumDto);


    List<CourseListVo> getListAll();

    List<CourseFindResultVo> getAll();


    Result addAppointment(AddAppointmentDto addAppointmentDto);

    Boolean updateList(CourseDto courseDto);

    /**
     * 添加私教课程
     * @param addCoachScheduleDto
     * @return
     */
    Boolean addPrivateCourseSchedule(AddCoachScheduleDto addCoachScheduleDto);

    List<CourseFindResultVo> findById(Long id);

    List<Course> findByCoachId(Long id);

    Boolean deleteByCourseScheduleId(Long id);

    Boolean addCourseSchedule(AddCourseScheduleDto addCourseScheduleDto);

    CoachScheduleVo findAllCoachSch(Long id);
}
